1. Field of the Invention
The present invention relates to information processing and data organization, and more particularly, to a system and method for structuring and manipulating data. As applied to the invention described herein, the term "computer program" means a computer program related invention, not a computer program per se.
2. Description of Related Art
The proliferation of personal computers has been accompanied by a proliferation of computer programs for use on those computers. Historically, two main classes of programs available for use on personal computers are spreadsheet and database programs. A useful visual metaphor for understanding existing database and spreadsheet programs is that of a matrix having rows and columns. The intersection of a row and a column defines a cell. Cells may contain different types of information or data, such as numbers, text, or boolean values. In existing technology, each cell is capable of containing a single value, that is, the cell is uni-variate. A cell is typically associated with a defining formula which determines the value of the cell. The defining formula is a set of processor instructions which, when executed, cause a value to be assigned to the cell. In some existing implementations a cell may also have an accompanying textual note.
Spreadsheet programs are useful for structuring and manipulating numeric data. Lotus 1-2-3 is an example of a currently available spreadsheet program. Lotus 1-2-3 is a trademark of Lotus Development Corporation. Spreadsheet programs include mechanisms for performing a variety of mathematical operations on ranges of data (e.g., permitting rapid summation or averaging of rows and/or columns of numbers). Early spreadsheet programs organized data in a two-dimensional row and column fashion analogous to an accounting ledger sheet, hence the term "spreadsheet". Newer spreadsheet programs include mechanisms for linking more than one spreadsheet together to accomplish a certain multi-dimensional effect for organizing data, and for providing a relational database in which to store data and spreadsheet formulas. These improvements to existing spreadsheet technology attempt to increase the ability to restructure and view data.
Database programs are another class of computer programs for personal computers. They are also useful for structuring and manipulating numeric data, however, they are typically employed for organizing textural information as well. For example, a typical use is to organize the names, addresses, and telephone numbers of businesses and individuals into a database in order to permit easy access to and organization of that information. dBASE is an example of a currently available database program. dBASE is a trademark of Borland International, Inc.
In addition to spreadsheet and database programs, data structuring and manipulation systems available for use on personal computers have evolved to include knowledge-based artificial intelligence systems (including expert systems and neuron network based systems), statistical modelling systems, computer assisted software engineering (CASE) systems, and simulation modelling systems.
In general, known existing technologies are not well suited for information-intensive situations. As used herein, the term "information-intensive situation" means an information processing problem involving a large number of variables and a large number of data points for each variable. An example of an information intensive situation is the modelling of the financial flow over time for a retail corporation comprising hundreds of retail units each selling thousands of products.
One of the many difficulties with existing technologies is that they typically rely on a single value cell architecture which, as it turns out, significantly hampers the ability to easily restructure and view complex data sets. In order to achieve increased restructuring and viewing capabilities, existing technologies typically compensate by providing cumbersome mechanisms for manipulating linked single valued cells.
The present invention includes a unique mechanism for structuring and manipulating data which is particularly well suited for information-intensive situations. The present invention is marketed under the trademark FREETHINK and a commercial embodiment including the invention is COPYRIGHT .COPYRGT. Power Thinking Tools, Inc. 1991, all rights reserved.
Applicant is aware of the following U.S. patents and articles generally related to information processing and data organization.
______________________________________ Patent No. Expires Inventor Title ______________________________________ 4,318,184 03-02-1999 Millett INFORMATION STORAGE AND RETRIEVAL SYSTEM AND METHOD 4,555,771 11-26-2002 Hayashi DATA PROCESSING SYSTEM FOR DATA BASE MANAGEMENT OF MATRIX TYPE DATA 4,730,259 03-08-2005 Gallant MATRIX CONTROLLED EXPERT SYSTEM PRODUCIBLE FROM EXAMPLES 4,739,477 04-19-2005 Barker IMPLICIT CREATION OF A SUPERBLOCK DATA STRUCTURE 4,751,635 06-14-2005 Kret DISTRIBUTED MANAGEMENT SUPPORT SYSTEM FOR SOFTWARE MANAGERS 4,811,199 03-07-2006 Kuechler SYSTEM FOR STORING AND MANIPULATING INFORMATION IN AN INFORMATION BASE 5,055,998 10-08-2008 Wright INTERMEDIATE SPREADSHEET STRUCTURE 5,019,961 05-28-2008 Addesso COMPUTER APPARATUS AND METHOD FOR LOGICAL MODELLING 5,021,976 06-04-2008 Wexelblat METHOD AND SYSTEM FOR GENERATING DYNAMIC, INTERACTIVE VISUAL REPRESENTATIONS OF INFORMATION STRUCTURES WITHIN A COMPUTER 04-20-92 Infoworld "Dadisp is a whiz at graphing data in unique spreadsheetlike cells" Infoworld "HiSheet analyzes spreadsheet data on one ______________________________________ screen"
Millett et al. relates to a computerized system and method for the compact storage and rapid retrieval and manipulation of data that is classified and stored in the form of hierarchal information trees. Briefly, data is classified and arranged in a mutually exclusive manner using a hierarchal information tree. Paths in the information tree are encoded in a bit string representation. Information is said to be stored, retrieved, separated, compared and interrelated by analyzing the encoded information tree and displaying results via an appropriate input/output device.
Hayashi relates to a data processing system having a data base in which matrix type data is prepared for a common data base and a plurality of programs access the contents of the common data base. Hayashi is directed to a data processing system which employs a hierarchical structure to handle matrix type data. N-dimensional matrix type data is stored on the basis of one-dimensional address information.
Gallant relates to a general purpose matrix controlled expert system which includes a matrix of learning coefficients, an external interface and inference engine.
Barker et al. relates to integrated multiple data editors and, more particularly, to a superblock structure containing two or more diverse object sets positioned so that the object sets overlap one another, reside side-by-side, or extend above or below one another. A "superblock" is defined as any displayable area containing two or more object sets positioned so that the object sets overlap one another, reside side-by-side or extend above or below one another.
Kret relates to an apparatus for a distributed computer based management support system for providing information to software managers regarding large scale on-going software development efforts and a method for use therein.
Kuechler et al. relates to a system for storing and manipulating information in an information base which employs a "topological" mapping technique. A topological map comprises compact symbols corresponding to predefined ranges of values of an attribute in the information base. Such a map purportedly may be retrieved and processed to efficiently retrieve stored information elements, given any general unpreprogrammed query as input to the system, and to determine correlations among various attributes of the information elements.
Wright relates to structures used to transfer formatted information between data processing systems, and more particularly to structures used to transfer a spreadsheet from one spreadsheet processing system to another. Wright seeks to provide an intermediate spreadsheet structure which can represent spreadsheets of any dimensionality, and which can represent any expressions or formats defined for spreadsheets. Note that in column 21, lines 3 through 4, it is stated that "[c]ells are 0-dimensional: they are points of data." In the present invention, cells, or locations, are multivariate and, in that sense, multi-dimensional and therefore different from the cells envisioned in connection with the Wright invention.
Addesso relates to a computer based modelling system which includes tooling means responsive to an interface means for enabling a high level user of the system to create a modelling methodology by editing a database to define: (a) modelling objects in terms of certain primitives; (b) a mode of viewing the modelling objects; and (c) logical relationships between elements of said modelling objects and views thereof.
Wexelblat relates to a computer system for inspecting and modifying data contained within an information system. A key aspect of the invention is an "automatic icon" feature which is defined by associating certain graphical primitives with certain mathematical relationships so that as an embodiment of the relationships is moved through an information space, the appearance of the icon automatically changes as a result of the correlation between the mathematical relationships and the contents of the information space.
The article which appeared in the Apr. 20, 1992 issue of Infoworld includes a description of a software product entitled Dadisp 3.0 for Windows. In Dadisp you purportedly "use spreadsheet like formulas to manipulate your data and see the results in adjacent windows." The article indicates that you "can apply routine statistical options to your data, such as ranking, sorting, conditional computation, transposition, descriptive statistics, and linear regression."
The article which appeared in the Apr. 27, 1992 issue of Infoworld announced "HiSheet", a Microsoft Excel add-on program that is said to allow organization of spreadsheets into hierarchical sets and control stacks of spreadsheet data. The article indicates that by "scrolling vertically and horizontally, users can traverse sections or levels to gather information for several types of analysis." Changes to data are said to be automatically updated through the stacks either aggregately or proportionally.
The present invented method, apparatus, and article of manufacture differ from the related art in several ways. Although the present invention employs the matrix metaphor to a certain extent, it differs from known existing technology in that, among other things, each cell or location is capable of containing more than a single data item or information item. Thus, each cell is multivariate, that is, it may have multiple variables wherein each variable contains either constant or computed information such as numbers, text, boolean values or references to external data sources. Typically, more than one value per cell is displayed to the viewer of the data. The number of viewable values per cell and the order of the values may be varied depending upon the preference of the viewer. Another important aspect of the present invention is that each cell exists in the context of a location which is defined by two or more locators. In the present invention, each of these locators may take on differing levels of aggregations. Each level of aggregation may be flexibly ordered on the basis of specified characteristics pertaining to the values. Flexible presentation of information is facilitated by distinguishing between data storage (the manner in which data is physically stored) and data representation (the manner in which data is displayed to a user or used by the system).